# Untitled - By: 64386 - 周四 7月 27 2023

import sensor, time, image                                  # 导入感光元件模块 sensor 跟踪运行时间模块 time 机器视觉模块 image
import utime                                                # 导入延时模块 utime
from fpioa_manager import fm                                # 从 fpioa_manager 模块中导入 引脚注册模块 fm
from Maix import GPIO                                       # 从 Maix 模块中导入 模块 GPIO
import lcd


lcd.init()
sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)

sensor.set_auto_exposure(0)       # 关闭自动曝光

sensor.set_auto_gain(0) # 关闭画面增益
#sensor.set_auto_gain(0, gain_db = 16)   # 设置画面增益 16 dB 影响实时画面亮度

sensor.set_auto_whitebal(0)   # 关闭RGB自动增益（白平衡）


sensor.set_vflip(1)     # 打开垂直翻转 如果是 01Studio 的 K210 不开启会导致画面方向与运动方向相反
sensor.set_hmirror(0)  # 打开水平镜像 如果是 01Studio 的 K210 不开启会导致画面方向与运动方向相反

sensor.skip_frames(time = 2000)   # 延时跳过2s 等待感光元件稳定

clock = time.clock()


#lcd 显示已拍照张数
def LCD_Show():
    lcd.draw_string(0, 0,  "img_cnt: "+str(i), lcd.BLUE, lcd.WHITE)
    lcd.draw_string(0, 15, "Gain   : "+str(sensor.get_gain_db()), lcd.BLUE, lcd.WHITE)
    lcd.draw_string(0, 30, "RGBGain: "+str(sensor.get_rgb_gain_db()), lcd.BLUE, lcd.WHITE)

i = 0
while(True):
    clock.tick()
    img = sensor.snapshot()
    print(clock.fps())



    #jishuqi(i, imax)
    #def jishuqi(i):
    if i < 30:
       i = i + 1
       print(i)
       sensor.snapshot().save("/sd/img/000"+str(i)+".jpg")
       time.sleep_ms(100)

    LCD_Show()
    time.sleep_ms(300)
    lcd.display(img)
